package com.cmict.data.bpm.controller.admin.definition.vo.task;

import com.cmict.data.framework.common.pojo.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

import static com.cmict.data.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel("管理后台 - 流程变量分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class TaskVariablePageReqVO extends PageParam {

    @ApiModelProperty(value = "用户Id")
    private Long userId;
    @ApiModelProperty(value = "流程变量名称")
    private String name;

    @ApiModelProperty(value = "流程模型的编号")
    private String modelId;

    @ApiModelProperty(value = "流程定义的编号")
    private String processDefinitionId;

    @ApiModelProperty(value = "流程任务id")
    private String taskId;

    @ApiModelProperty(value = "活动类型")
    private String type;

    @ApiModelProperty(value = "规则类型")
    private Integer rule;

    @ApiModelProperty(value = "规则值，JSON 数组")
    private String options;

    @ApiModelProperty(value = "规则值，JSON 数组")
    private Integer status;

    @ApiModelProperty(value = "id 的集合")
    private List<Long> idList;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "开始创建时间")
    private LocalDateTime beginCreateTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "结束创建时间")
    private LocalDateTime endCreateTime;

}
